'\" te
.\" Copyright 1989 AT&T
.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH MENU_ITEM_CURRENT 3CURSES "April 9, 2016"
.SH NAME
menu_item_current, set_current_item, current_item, set_top_row, top_row,
item_index \- set and get current menus items
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
#include <menu.h>

\fBint\fR \fBset_current_item\fR(\fBMENU *\fR\fImenu\fR, \fBITEM *\fR\fIitem\fR);
.fi

.LP
.nf
\fBITEM *\fR\fBcurrent_item\fR(\fBMENU *\fR\fImenu\fR);
.fi

.LP
.nf
\fBint\fR \fBset_top_row\fR(\fBMENU *\fR\fImenu\fR, \fBint\fR \fIrow\fR);
.fi

.LP
.nf
\fBint\fR \fBtop_row\fR(\fBMENU *\fR\fImenu\fR);
.fi

.LP
.nf
\fBint\fR \fBitem_index\fR(\fBITEM *\fR\fIitem\fR);
.fi

.SH DESCRIPTION
.LP
The current item of a menu is the item where the cursor is currently
positioned. \fBset_current_item()\fR sets the current item of \fImenu\fR to
\fIitem\fR. \fBcurrent_item()\fR returns a pointer to the current item in
\fImenu\fR.
.sp
.LP
\fBset_top_row()\fR sets the top row of \fImenu\fR to \fIrow\fR. The left-most
item on the new top row becomes the current item. \fBtop_row()\fR returns the
number  of the menu row currently displayed at the top of \fImenu\fR.
.sp
.LP
\fBitem_index()\fR returns the index to the \fIitem\fR in the item pointer
array. The value of this index ranges from \fB0\fR through \fIN\fR\fB-1\fR,
where \fIN\fR is the total number of items connected to the menu.
.SH RETURN VALUES
.LP
\fBcurrent_item()\fR returns \fBNULL\fR on error.
.sp
.LP
\fBtop_row()\fR and \fBindex_item()\fR return \fB\(mi1\fR on error.
.sp
.LP
\fBset_current_item()\fR and \fBset_top_row()\fR return one of the following:
.sp
.ne 2
.na
\fBE_OK\fR
.ad
.RS 19n
The routine returned successfully.
.RE

.sp
.ne 2
.na
\fBE_SYSTEM_ERROR\fR
.ad
.RS 19n
System error.
.RE

.sp
.ne 2
.na
\fBE_BAD_ARGUMENT\fR
.ad
.RS 19n
An incorrect argument was passed to the routine.
.RE

.sp
.ne 2
.na
\fBE_BAD_STATE\fR
.ad
.RS 19n
The routine was called from an initialization or termination function.
.RE

.sp
.ne 2
.na
\fBE_NOT_CONNECTED\fR
.ad
.RS 19n
No items are connected to the menu.
.RE

.SH ATTRIBUTES
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
MT-Level	Unsafe
.TE

.SH SEE ALSO
.LP
.BR curses (3CURSES),
.BR menus (3CURSES),
.BR attributes (7)
.SH NOTES
.LP
The header \fB<menu.h>\fR automatically includes the headers  \fB<eti.h>\fR and
\fB<curses.h>\fR\&.
